package com.study.d015propertybind.fx;

import javafx.beans.binding.DoubleBinding;
import javafx.beans.binding.NumberBinding;
import javafx.beans.binding.When;
import javafx.beans.property.SimpleIntegerProperty;

/**
*@description 三目运算符When绑定
*@author xtayhame
*date 2020年3月6日
*version
*since v1.0
*/
public class BindWhenMain {
	public static void main(String[] args) {
		int a= 4;
		int b=6;
		int c=a> b?a:b;
		System.out.println(c);

		a=9;
		c=a> b?a:b;   //更改变量后需要重新调用
		System.out.println(c);

		System.out.println("********使用When类进行三目运算符的绑定******");

		SimpleIntegerProperty x = new SimpleIntegerProperty(5);
		SimpleIntegerProperty y=new SimpleIntegerProperty(10);
		//初始化When类，并传入条件
		When w = new When(x.greaterThan(y));
		//条件成立则显示x的值，否则显示y的值
		NumberBinding nb= w.then(x).otherwise(y);
		System.out.println(nb.doubleValue());

		//更改x的值
		x.set(20);
		System.out.println(nb.doubleValue());
	}
}
